3 research outputs found

    From constraint programming to heterogeneous parallelism

    Get PDF
    The scaling limitations of multi-core processor development have led to a diversification of the processor cores used within individual computers. Heterogeneous computing has become widespread, involving the cooperation of several structurally different processor cores. Central processor (CPU) cores are most frequently complemented with graphics processors (GPUs), which despite their name are suitable for many highly parallel computations besides computer graphics. Furthermore, deep learning accelerators are rapidly gaining relevance. Many applications could profit from heterogeneous computing but are held back by the surrounding software ecosystems. Heterogeneous systems are a challenge for compilers in particular, which usually target only the increasingly marginalised homogeneous CPU cores. Therefore, heterogeneous acceleration is primarily accessible via libraries and domain-specific languages (DSLs), requiring application rewrites and resulting in vendor lock-in. This thesis presents a compiler method for automatically targeting heterogeneous hardware from existing sequential C/C++ source code. A new constraint programming method enables the declarative specification and automatic detection of computational idioms within compiler intermediate representation code. Examples of computational idioms are stencils, reductions, and linear algebra. Computational idioms denote algorithmic structures that commonly occur in performance-critical loops. Consequently, well-designed accelerator DSLs and libraries support computational idioms with their programming models and function interfaces. The detection of computational idioms in their middle end enables compilers to incorporate DSL and library backends for code generation. These backends leverage domain knowledge for the efficient utilisation of heterogeneous hardware. The constraint programming methodology is first derived on an abstract model and then implemented as an extension to LLVM. Two constraint programming languages are designed to target this implementation: the Compiler Analysis Description Language (CAnDL), and the extended Idiom Detection Language (IDL). These languages are evaluated on a range of different compiler problems, culminating in a complete heterogeneous acceleration pipeline integrated with the Clang C/C++ compiler. This pipeline was evaluated on the established benchmark collections NPB and Parboil. The approach was applicable to 10 of the benchmark programs, resulting in significant speedups from 1.26× on “histo” to 275× on “sgemm” when starting from sequential baseline versions. In summary, this thesis shows that the automatic recognition of computational idioms during compilation enables the heterogeneous acceleration of sequential C/C++ programs. Moreover, the declarative specification of computational idioms is derived in novel declarative programming languages, and it is demonstrated that constraint programming on Single Static Assignment intermediate code is a suitable method for their automatic detection

    Genetic imbalance in patients with cervical artery dissection

    Get PDF
    BACKGROUND: Genetic and environmental risk factors are assumed to contribute to the susceptibility to cervical artery dissection (CeAD). To explore the role of genetic imbalance in the etiology of CeAD, copy number variants (CNVs) were identified in high-density microarrays samples from the multicenter CADISP (Cervical Artery Dissection and Ischemic Stroke Patients) study and from control subjects from the CADISP study and the German PopGen biobank. Microarray data from 833 CeAD patients and 2040 control subjects (565 subjects with ischemic stroke due to causes different from CeAD and 1475 disease-free individuals) were analyzed. Rare genic CNVs were equally frequent in CeAD-patients (16.4%; n=137) and in control subjects (17.0%; n=346) but differed with respect to their genetic content. Compared to control subjects, CNVs from CeAD patients were enriched for genes associated with muscle organ development and cell differentiation, which suggests a possible association with arterial development. CNVs affecting cardiovascular system development were more common in CeAD patients than in control subjects (p=0.003; odds ratio (OR) =2.5; 95% confidence interval (95% CI) =1.4-4.5) and more common in patients with a familial history of CeAD than in those with sporadic CeAD (p=0.036; OR=11.2; 95% CI=1.2-107). CONCLUSION: The findings suggest that rare genetic imbalance affecting cardiovascular system development may contribute to the risk of CeAD. Validation of these findings in independent study populations is warranted
    corecore